package Day02;
//数据类型的演示
public class DataTypeDemo {

    public static void main(String[] args) {
        //6)类型间的转换：
        byte b1 = 5;
        byte b2 = 6;
        byte b3 = (byte)(b1+b2);

        System.out.println(2+2);            //
        System.out.println('2'+'2');        //
        System.out.println('2'+2);          //
      /*
        int a = 5;
        long b = a;//自动类型转换
        int c = (int)b;//将一个long型的b转换为int型

        long d = 5L;
        long dd = 5;//自动类型转换
        double e = 5;//自动类型转换

        long f = 10000000000L;
        int g = (int)f;
        System.out.println(g);//14100645408,强转是可能发生溢出
        double h = 25.987;
        int i = (int)h;
        System.out.println(i);//25,强转时可能丢失精度
         */





        /*
        //5)char: 字符型，2个字节
        char c1 = '女'; //字符女
        char c2 = 'f'; //字符f
        char c3 = '6'; //字符6
        char c4 = '*'; //字符*

        //char c5 = 女；//编译错误，字符型直接量必须放在单引号中
        //char c6 = '';//编译错误，必须有一个字符
        //char c7 = '女性‘；//编译错误，只能有一个字符

        char c8 = '\'';
        System.out.println(c8);


         */


        /*
        //4）boolean；布尔型，1个字节
        boolean a = true; //true为布尔型直接量
        boolean b = false;//false为布尔型直接量
        boolean c = 25;//编译错误，布尔型只能赋值为true或false
         */

        /*
        //3)double:浮点型，8个字节，很大很大很大
        double a = 3.14;//3.14为浮点型直接量，默认为double型
        float b = 3.14F;//3.14F为folat型直接量

        double c = 3.0,d=2.9;
        System.out.println(c-d);//0.10000000000000009--可能发生舍入误差
         */



        /*
        //2)long:长整型，8个字节，很大很大很大
        //int a = 10000000000;//编译错误，100亿默认为int型，但超出int范围了
        long b = 10000000000L;//100亿L为长整型直接量

        //          20亿（int）
        long c = 1000000000*2*10L;
        System.out.println(c);//200亿

        long d = 1000000000*3*10L;
        System.out.println(d);

        long e = 1000000000L*3*10;
        System.out.println(e);//300亿
        */









        /*
        // byte,short,int,long,float,double,boolean,char
        //1)int:整型,4个字节，-21个多亿到21个多亿
        int a = 250;//250为整数直接量，默认为int型
        //int b = 10000000000;  //编译错误，100亿默认为int型，但超出int范围了
        Sysout.out.plintln(5/2);  //2
        Sysout.out.plintln(2/5);  //0
        Sysout.out.plintln(5.0/2);  //2.5

        int c = 2147483647; //int的最大值
        c =  c+1;
        Sysout.out.plintln(c);//溢出不是错误，但要避免


        */
    }
}
